import urllib.request
import urllib.parse

# https://www.google.com.hk/search?q=%E5%91%A8%E6%9D%B0%E4%BC%A6
# 需求 获取 https：//www.baidu.com/s?wd=周杰伦 的网页源码
# url = 'https://www.google.com.hk/search?q=%E5%91%A8%E6%9D%B0%E4%BC%A6'
# url = 'https://www.google.com.hk/search?q=周杰伦' # 由于网页使用的是ascii编码 所以并未识别到中文，所以要报错，
# 可以替换成支持的Unicode编码（如上：q=%E5%91%A8%E6%9D%B0%E4%BC%A6）
# 也可以使用quote方法来解决这个方法：
url = 'https://www.google.com.hk/search?q='

# 请求对象的定制是为了解决反扒的一个手段
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
}
# 将周杰伦三个字替换成Unicode编码的形式 依赖于urllib.parse
name = urllib.parse.quote('周杰伦')
# print(name)  # 输出：%E5%91%A8%E6%9D%B0%E4%BC%A6
url = url + name

# 模拟向浏览器发送请求
request = urllib.request.Request(url, headers=headers)
req = urllib.request.urlopen(request)
print(req.read().decode('utf-8'))
